const express = require('express')
const { Configuration, OpenAIApi  } = require("openai");
const cors = require('cors')
const bodyParser = require('body-parser')

const app = express()
app.use(cors())
app.use(bodyParser.urlencoded({extended: false}))
app.use(bodyParser.json())

// 托管静态服务资源
app.use(express.static('./dist'))


const openAiKey = new Configuration({
  // 这里写入自己账号的key（一定不要随意把key给别人！！！）
  apiKey: ""
});

// 设置openAI的API密钥
const openai = new OpenAIApi(openAiKey)

// 路由
app.post('/', async (req, res) => {

  // 获取请求中的参数
  const { model, prompt } = req.body
  console.log(model, prompt)

  // 使用 openai 库调用 API，生成图片
  const response = await openai.createImage({
    /**
     * model：指定要使用的模型。OPEN AI 有多种模型可供选择，每种模型都具有不同的特点和功能。使用时需要根据需求和 API 文档选择适当的模型。
     */
    model,
    // 指定要生成的图片的文本内容
    prompt
  });
  const data = await response.data.data[0]

  // 将生成的图片返回给客户端
  res.send({
    code: 200,
    result: data.url,
    message: '图片生成成功！'
  })

})

// 启动服务器
app.listen(3000, () => {
  console.log('app server running at http://127.0.0.1:3000')
})